国家软件供应链安全战略:从产品研发中的代码开发源头抓起
点击 信创纵横 并设为星标⭐️ 及时获取最新资讯
编者按:本文通过分析代码自主率需要产品研发厂商从研发过程源头抓起、软件供应链安全需从代码开发源头抓起以及具体技术手段的应用等内容。推出一款专注于开源软件治理、软件供应链安全领域、软件自主可控等领域的综合检测产品FossCheck。其核心功能包括源代码自主率分析、软件成分分析、开源安全漏洞风险分析、开源许可证合规性风险分析。
代码自主率需要产品研发厂商从研发过程源头抓起
随着供应链安全形势的不断变化发展,在严峻环境下,我国对软件供应链安全给予了高度的重视,软件供应链的自主率也走到了台前。在2020年4月27日,国家互联网信息办公室等12个部门联合发布了《网络安全审查办法》,为确保关键信息基础设施供应链安全,维护国家安全,要求关键信息基础设施运营者采购网络产品和服务,影响或可能影响国家安全的,应当进行网络安全审查,此政策的发布在某种意义上标志着国家相关部门已开始将软件供应链安全纳入到网络安全审查范围。
企业层面,我国头部的互联网企业、软硬件厂商、安全厂商等上下游企业,均开始投入到软件供应链安全建设中,围绕保障软件供应链安全的重大需求,充分发挥创新技术在软件供应链网络安全保障中的作用,加大软硬件安全检测及分析、开源许可证风险防控、源代码安全审计、漏洞挖掘技术、大数据分析技术等创新技术的研发及投入,切实落实对软件供应链安全的保障,构建一套动态的安全防护体系。
我国针对开源软件的发展也已出台了相关政策,特别是2021年在中国《“十四五”规划和二零三五年远景目标纲要》文件中,明确提出“支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务”,这是开源软件首次被写入国家总体规划纲要之中。
随着软件产业发展过程中开源软件的使用越来越多,开源软件已经成为了软件开发的核心基础设施,开源软件的安全问题,应该上升到基础设施安全的高度来对待。
剖析原因:关键信息基础设施安全与开源战略、国内开源现状
从近期发布的《关键信息基础设施安全保护条例》来看,自主创新并不等于技术上的封闭,开源软件是关键信息基础设施生态发展壮大的重要支撑。
开源对关键信息基础设施的意义,体现在3个方面:
- 向开源项目贡献源代码,能够扩充技术影响力;
- 借助开源软件资源,能够节约成本;
- 开源社区有助于汇聚开发者的力量,更有助于创新。
然而,虽然开源有这么多好处,但是开源所带来的风险和隐患也是不容忽视的。
风险一:软件开源化趋势增强,加剧知识产权风险
由于开源软件之间的关联依赖关系非常复杂,一旦出现问题所带来的蝴蝶效应将带来十分严重的影响,若一款开源软件出现开源协议问题,其传染性将会导致所有与之存在关联依赖关系的其他软件系统出现同样的知识产权风险,攻击面将会由点及面呈现出爆炸式的放大效果。开发人员往往不能在短期内解决,极大地增加了软件供应链的安全威胁。
风险二:软件复杂度增加,软件供应链每一环节均存在风险
现阶段,软件的复杂度随着用户对软件功能需求的不断提高而增加,由于信息技术产业的不断发展以及其它产业对软件依赖的加深,这一趋势将在未来几年持续增加。软件复杂度的增加会导致软件开发的难度加大,同时也会增加后续软件维护的难度。
软件供应链可以理解为一个链条,那么在链条上的每一个环节都可能产生开源知识产权、安全漏洞等方面的安全威胁,由于软件设计缺陷和软件开发过程中引用的开源代码、产生未知漏洞将沿着软件供应链的树状结构由上游向下游扩散,加大了软件供应链的安全风险,同时这也对软件的业务逻辑和安全质量控制及标准提出了更高的要求。
风险三:重视程度不够,风险防护不足
在敏捷开发模式中,因为安全影响开发效率导致安全与开发严重割裂,在传统瀑布式研发模式中,安全检查在上线前才介入,不仅不能有效地进行系统的安全防护,同时也会影响应用的交付速度。如何在较短的开发周期内尽量完善软件功能,同时完成相对完备的安全性测试,实现质量、安全和速度的平衡是现阶段各企业及开发部门所面临的重要挑战。
企业软件供应链管理制度不完善,缺乏针对软件生产等重要环节的管控措施。企业软件供应链透明度不高,企业开源代码管理机制尚不完善,给软件供应链管控带来极大的安全挑战。企业需要引入系统的供应链安全管理机制,与国内安全领域诸如源代码检测平台机构合作来完善自身保障能力。
软件供应链安全需从代码开发源头抓起,具体技术手段的应用
安全问题的解决必需要从源头上找到根本的解决办法,首先要从思想上重视软件供应链安全,其次要将供应链安全的重视落实到软件研发的生命周期中,并使其成为重要的一环。下面分享几种保障供应链安全在软件开发流程中最佳实践。
SDL软件安全开发生命周期
软件安全开发生命周期(SDL),是一个在帮助开发人员构建更安全的软件和解决安全合规要求的同时降低开发成本的软件开发过程。
在SDL的7个阶段中,SDL要求前6个阶段的16项安全活动,为开发团队必须完成的安全活动。同时,SDL认为开发团队应该保持灵活性,以便选择更多合适的安全活动,如人工代码分析、渗透测试、相似应用程序的漏洞分析,以确保对某些软件组件进行更高级别的安全分析。SDL重视各种工具的使用,重心在从需求阶段到测试阶段的工具集,如威胁建模、静态源代码分析等工具。
DevSecOps
DevSecOps是一种全新的安全理念和模式,由DevOps的概念延伸和演变而来。其核心理念是安全是整个11团队每个人的责任,需要贯穿从开发到运营整个业务生向周期每一个环节才能提供有效保障。
DevSecOps覆盖编码阶段、测试阶段、预发布阶段、发布阶段线上运营阶段,强调自动化与平台化,由CICD平台推动整个开发和运营流程自动化。DevSecOps衣赖于DevOps流程工具链,将威胁建模工具、安全编码工具、安全测试工具、容器安全检汉则工具、基线加固工具、漏洞管理工具等自动化工具无缝集成到DevOps流程中,进而实现开发-安全-运营一体化。
使用专业源码分析工具
软件成分分析(Software Composition Analysis,SCA)是一种对二进制软件的组成部分进行识别、分析和追踪的技术。SCA可以生成完整的SBOM,分析开发人员所使用的各种源码、模块、框架和库,以识别和清点开源软件(OSS)的组件及其构成和依赖关系,并精准识别系统中存在的已知安全漏洞或者潜在的许可证授权问题,把这些安全风险排除在软件的发布上线之前,也适用于软件运行中的诊断分析。
通过使用基于多源SCA开源应用安全缺陷检测技术的安全审查工具,可以精准识别应用开发过程中,软件开发人员有意或违规引用的开源第三方组件,并通过对应用组成进行分析,多维度提取开源组件特征,计算组件指纹信息,深度挖掘组件中潜藏的各类安全漏洞及开源协议风险。
棱镜七彩FossCheck,助力国家软件供应链安全战略
优秀的企业总能在相关领域提前布局,在软件供应链安全这个赛道上,已经有了一个卓越的领跑者:棱镜七彩FossCheck。
FossCheck是由棱镜七彩推出具有完全自主知识产权的综合检测产品。FossCheck专注于开源软件治理、软件供应链安全领域、软件自主可控等领域,核心功能包括源代码自主率分析、软件成分分析、开源安全漏洞风险分析、开源许可证合规性风险分析。区别于传统的源代码检测工具,FossCheck依托国内领先的源代码知识库以及威胁情报中心提供相关服务,具备检出率高、误报率低、检测效率快、支持语言广等多种优势,支持私有化离线部署、云部署、Saas服务等多种部署形式。
功能方面,棱镜七彩FossCheck工具不仅提供了软件物料清单、源代码成分检测、二进制开源溯源、项目自主率检测评定,还能提供非常强大的源代码漏洞预警、跟踪检测。针对于开源许可证这个难点,棱镜七彩FossCheck也有非常成熟的解决方案。
在产品形态上,棱镜七彩FossCheck不拘泥于传统的SaaS架构,还支持企业本地部署,充分满足各类供应链安全需求。
据了解,棱镜七彩公司的FossCheck拥有国内最大的开源知识库,独特开源分析技术和高性能大数据分析能力,在供应链代码安全、代码自主率分析和项目验收企业审计等领域取得了丰富的成功经验。
国内SCA工具领域曾经一度被老外的BlackDuck占领大额市场,目前已经出现国产化替代的强劲对手“FossCheck”。
工具官网:https://www.7-cai.com
扫二维码或点击左下“阅读原文”了解工具详情
END
文章转自棱镜七彩
点击图片查看完整内容: